﻿#ifndef _EAGLE_DEFINE_H_
#define _EAGLE_DEFINE_H_

#include <tuple>
#include <string>

#define MAX_SERIAL_SIZE 20
#define MAX_NAME_LEN 128

/*baseline version*/
#define NORMAL_VERSION
//#define XP_VERSION

/*version for GuoRong*/
//#define GUORONG_VERSION
/*version for 长春光机所*/
//#define CHANGGS_VERSION   2   // 增加 小版本号， 2 对应 170911往后版本
/*version for 成都光电所*/
//#define CHENGGS_VERSION    4     // 2 3 4 5 版本号 [10/19/2016 ejitec]
/*version for XiAn西安光电所*/
//#define XIANGS_VERSION   2  // 版本1 为测试版本
//#define YUAN9_VERSION   2  // 9院 版本

#if (defined(GUORONG_VERSION)	\
	||defined(CHANGGS_VERSION)  \
	||defined(CHENGGS_VERSION)  \
	||defined(YUAN9_VERSION)  \
	||defined(XIANGS_VERSION))

#undef NORMAL_VERSION      // 手动 undef  Normal 以便代码引用

#endif

#ifdef CHENGGS_VERSION
/************************************************************************/
/*

成光四期和五期合并为一个版本  9.4.x 统一发布
三期终止版本 V9.1.3
*/
/************************************************************************/
#define EAGLE_VERSION L"V9.4.11"      
#endif


/************************************************************************/
/*
V10.0.x - V10.1.x 上一个版本 终止版本 V10.0.10
UDP 集群 开始版本 V10.2.0 [3/2/2018 xystar]
*/
/************************************************************************/
#ifdef XIANGS_VERSION
#define EAGLE_VERSION L"V10.2.1"    
#endif

#ifdef CHANGGS_VERSION
#define EAGLE_VERSION L"V6.0.10"
#endif

#ifdef YUAN9_VERSION
#define EAGLE_VERSION L"V11.0.0.2"
#endif

#ifndef EAGLE_VERSION
// 8.1 往后适配 sdk6.4 导出速度有大幅提高 [1/15/2018 xystar]
#define EAGLE_VERSION L"V8.1.0.6"  
#endif

// 编译日期由代码自动生成 该宏不再使用 [12/9/2016 ejitec]
#define EAGLE_BUILD_TIME L"20161202"

#define EagleToolIdConfig				2001
#define EagleToolIdStartPreview 2002
#define EagleToolIdStartRecord	2003
#define EagleToolIdPauseRecord	2004
#define EagleToolIdConditionRecord 2005
#define EagleToolIdExport				2006
#define EagleToolIdStartReplay	2007
#define EagleToolIdDelete				2008
#define EagleToolIdQuickExport			2010
//Add Fot Test
#define EagleId_Network_Changed  2009

//定义最多支持的设备数，为每一个设备load各自的Control_Api_n.dll
#define MAX_DEVICE_NUM 10
/*
**最多支持2个ccd, 可以配置1个或2个
**
*/
//#define MAX_CCD_NUM 2

#define INFO_R 0
#define INFO_G 0
#define INFO_B 0

#define WARN_R 0xff
#define WARN_G 0xd7
#define WARN_B 0

#define ERROR_R 0xff
#define ERROR_G 0
#define ERROR_B 0

//index must be same with config file
typedef enum
{
    EExportBmp = 0,
    EExportJpeg,
    EExportTiff,
    EExportRaw,					//raw data frame
    EExportAvi,
    EExportRawStream1,	//raw stream with one file
    EExportBmpGrey,		// bmp not RGB, just grey
    EExportFrameHead,	// just export head
    EExportMax
}EExportType;

//typedef enum
//{
//	ETaskNormal = 0,
//	ETaskOffLineH,
//	ETaskOffLineV,
//	ETaskOffLineAA55,
//	ETaskOffLineError,
//	ETaskOffLineDynamicStripe,
//	ETaskOnLineStaticStripe,
//	ETaskOnLineDynamicStripe,
//	ETaskOnLineError
//}ETaskType;

//state of the DisplayView module
typedef enum
{
    DISPLAY_STATE_DISPLAYING = 0,
    DISPLAY_STATE_PAUSED,
    DISPLAY_STATE_STOPPED,//stop state need to display default black picture
    DISPLAY_STATE_EXPORTING,
    DISPLAY_STATE_CHECKING,
    DISPLAY_STATE_MAX
}CURRENT_DISPLAY_STATE;

// 窗口播放状态  用于在 overLap插件中访问 [4/27/2018 xystar]
typedef enum{
    DISPLAY_TYPE_NONE = 0,
    DISPLAY_TYPE_REALTIME,
    DISPLAY_TYPE_REPLAY,
    DISPLAY_TYPE_MAX
}CURRENT_DISPLAY_TYPE;

// 产商  [4/27/2018 xystar]
typedef enum
{
    E_VENDOR_NORMAL = 0,
    E_VENDOR_CHENGS,  //- 成都
    E_VENDOR_CHANGGS,    // 长春
    E_VENDOR_XIANGS,     //西安
    E_VENDOR_9YUAN,     // 九院
}E_VENDORS;

#define EAGLE_DLL_EXPORT

#ifndef EXPORT_API
#ifdef  _WIN32
#define EXPORT_API __declspec(dllexport)
#else
#define EXPORT_API
#define EAGLE_DLL_EXPORT
#endif
#endif

#endif // _gt_define_h_
